1. Field of the Invention
The present invention relates to data storage subsystems that employ portable serial data storage media such as magnetic tape cartridges. More particularly, the invention concerns a data storage system with drive-level processing that renders data storage media as write-once-read-many (xe2x80x9cWORMxe2x80x9d). Despite this WORM quality, the drive-level processing permits limited overwriting of trailing data facilitate write append operations.
2. Description of the Related Art
Data is stored on a variety of different media today, such as magnetic tape, magnetic disk, optical disk, circuit memory, and many more. Certain storage media is known as WORM, meaning xe2x80x9cwrite once read many.xe2x80x9d True to its name, this media only allows a single writing, then it becomes read-only. After data is written, the data cannot be erased. Optical storage devices are most frequently utilized as WORM media, because they utilize a permanent form of recording on the media by creating non-removable pits in the media surface. As one example, certain types of compact disc media qualify as WORM media.
More recently, xe2x80x9cvirtual WORMxe2x80x9d technology has emerged. With virtual WORM, base-level read/write hardware selectively allows or rejects host write requests to effectively treat an otherwise rewritable media as WORM media. When this technique is applied to magnetic tape, there are certain technical limitations. Namely, the dedication of rewritable magnetic tape for WORM use ruins the possibility of performing xe2x80x9cwrite appendxe2x80x9d operations. xe2x80x9cWrite appendxe2x80x9d operations occur when the host desires to add more data to tape after one or more initial writes are performed. Write append operations are not possible because certain end-of-data metadata is always written after the data is laid down on tape. The end-of-data metadata includes trailer labels, file marks, EOD markers, and other metadata that signals the end of data. The end-of-data metadata cannot be overwritten because the media is being treated as WORM, which forecloses the possibility of any overwriting. Therefore, even if additional user data were to be stored after the end-of-data metadata, the traditional tape processing applications would stop after encountering the end-of-data metadata, and effectively ignore the additional user data.
Without the write append function, tape utilization is much less efficient, especially with the massive storage capacities of today""s tapes. For example, tape utilization is a mere ten percent when a ten gigabyte file is stored on a magnetic tape of one hundred gigabytes. Without write append, ninety gigabytes of the tape is wasted. Of course, utilization is higher when there are larger files that require storage, but data is not always available in sufficiently large blocks. Consequently, tape space is frequently wasted, which boosts the user""s tape purchase expenses. Wasted tape space also slows data access time because there is less data stored on more tapes, requiring more tape load/unload operations.
As one alternative, data can be buffered and written to tape en masse prior to laying down the end-of-data metadata. However, this increases the tape processing overhead, and introduces some risk of losing buffered data because it delays the ultimate time that data is finally preserved by writing it to tape.
Consequently, the implementation of virtual WORM in magnetic tape and other serially accessible data storage media is not completely adequate for some applications due to certain unsolved problems.
Broadly, the present invention concerns a data storage system with drive-level processing that renders data storage media as write-once-read-many (xe2x80x9cWORMxe2x80x9d). Despite this WORM quality, the drive-level processing permits limited overwriting of trailing data facilitate write append operations.
The foregoing results are achieved by the following operations. Initially, the drive receives one or more write requests, each write request including corresponding write data. The drive establishes a target write location, which may be performed by various techniques. In response to the write request, the drive stores the write data so as to preserve certain previously stored data. Namely, the drive obtains a write append limiter sequentially identifying a location on the data storage medium before which data is not permitted to be altered. Then the drive proceeds to determine whether the target write location occurs before or after the write append limiter. If the answer is xe2x80x9cbefore,xe2x80x9d the drive generates an error message. If the answer is xe2x80x9cafter,xe2x80x9d the drive stores the write data upon the data storage medium beginning at the target write location, and updates the write append limiter if needed.
The write append limiter is updated whenever the amount of data written after the write append limiter exceeds a write allowance index. The write allowance index may be modified, for example in response to user requests. However, requests to modify the write allowance index are rejected unless they seek to decrease it. In configurations where write and write append operations store data that is logically divided into xe2x80x9cblocks,xe2x80x9d the write allowance index may be an integer number of such blocks.
Following each write operation, the drive may store a prescribed size of trailing metadata serving various purposes, such as marking the end of data, etc. In this case, the write allowance index may advantageously be set to a size that matches the trailing metadata (or larger), to permit the host to overwrite the trailing metadata with a subsequent write append operation.
In one embodiment, the invention may be implemented to provide a method to operate a read/write drive to conduct read, write, and write append operations upon removable, serially accessible, data storage media so as to render the media as WORM, with limited data overwriting to facilitate write append operations. In another embodiment, the invention may be implemented to provide an apparatus, such as a read/write drive, configured to operate in such a manner. In still another embodiment, the invention may be implemented to provide a signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital data processing apparatus to direct a read/write drive as explained above. Another embodiment concerns logic circuitry having multiple interconnected electrically conductive elements configured to direct the read/write drive as stated above.
The invention affords its users with a number of distinct advantages. For instance, the invention protects user data from loss by treating it as xe2x80x9cread-onlyxe2x80x9d after it is initially stored. Nonetheless, the invention facilitates write append operations by permitting limited overwriting of trailing metadata. The invention also provides a number of other advantages and benefits, which should be apparent from the following description of the invention.